#include<stdio.h>

int main()
{
	int sign,flag,n,m,t;
	int a=0,b=0,z[1000]={0},h[1000]={0},max=0,min=0;
	scanf("%d %d %d",&n,&m,&t);
	for(sign=0;sign<n;sign++)
	{
		scanf("%d %d",&a,&b);
		if(sign==0) min=b;
		if(b>=0) z[b]+=a;
		else h[-b]+=a;
		if(b>max) max=b;
		if(b<min) min=b;
	}
	for(sign=0;sign<m;sign++)
	{
		scanf("%d %d",&a,&b);
		if(b>=0)
		{
			if(t==0) z[b]+=a;
			else z[b]-=a;
		}
		else
		{
			if(t==0) h[-b]+=a;
			else h[-b]-=a;
		}
		if(b>max) max=b;
		if(b<min) min=b;
	}
	for(flag=min;flag<=max;flag++)
	{
		if(flag<0&&h[-flag]!=0)
		{
			if(h[-flag]>0&&flag!=min) printf("+");
			if(flag==-1)
			{
				if(h[-flag]==-1) printf("-x^-1");
				else if(h[-flag]==1) printf("x^-1");
				else printf("%dx^-1",h[-flag]);
			}
			else
			{
				if(h[-flag]!=1&&h[-flag]!=-1) printf("%d",h[-flag]);
				if(h[-flag]==-1) printf("-");
				printf("x^%d",flag);
			}
		}
		if(flag>=0&&z[flag]!=0)
		{
			if(z[flag]>0&&flag!=min) printf("+");
			if(flag==0) printf("%d",z[flag]);
			else if(flag==1)
			{
				if(z[flag]==-1) printf("-x");
				else if(z[flag]==1) printf("x");
				else printf("%dx",z[flag]);
			}
			else
			{
				if(z[flag]!=1&&z[flag]!=-1) printf("%d",z[flag]);
				if(z[flag]==-1) printf("-");
				printf("x^%d",flag);
			}
		}
	}
	return 0;
}
